#include <assert.h>
#include "elemGen.H"
#include "liste_generique.H"
#include <cstdio>

int main()
{
  Liste lili;
  int i = 16;
  Element elt;
  initialise(lili);
  initialisation_int(elt);
  for(int i=1;i<5;i++)
    {
      affectation_int(elt,i);
      ajoutEnTete(elt,lili,initialisation_element_int);
    }
  std::printf("Lili\n");
  affectation_int(elt,i);
  ajoutEnTete(elt,lili,initialisation_element_int);
  affichageListe(lili,affiche_int);
  for(int i=10;i<15;i++)
    {
      ajoutEnQueue(&i,lili,initialisation_element_int);
    }
  suppressionEnTete(lili,testament_int);
  std::printf("Lili\n");
  affichageListe(lili,affiche_int);
  Liste lolo;
  initialise(lolo,lili,initialisation_element_int);
  std::printf("Lolo\n");
  affichageListe(lolo,affiche_int);
  Cellule * c;
  c=premiereCellule(lili);
  std::printf("valeure de la cellule recuperee \n");
  elementCellule(c,affiche_int);
  c=celluleSuivante(c,lili);
  std::printf("valeure de la cellule recuperee \n");
  elementCellule(c, affiche_int);
  std::printf("valeure de la premiere cellule \n");
  premierElement(lili,affiche_int);
  videListe(lili,testament_int);
  assert(testListeVide(lili));
  affectation_int(elt,100);
  ajoutEnQueue(elt,lili,initialisation_element_int);
  std::printf("Lili\n");
  affichageListe(lili,affiche_int);
  std::printf("Lolo\n");
  affichageListe(lolo,affiche_int);
  affectation(lolo,lili,initialisation_element_int,testament_int);
  std::printf("Lolo\n");
  affichageListe(lolo,affiche_int);
  videListe(lili,testament_int);
  videListe(lolo,testament_int);
  testament_int(elt);
  return 0;
}
